package com.zwz.resp.riskInfo;

import com.fasterxml.jackson.annotation.*;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.Data;
import java.util.*;

@Data
public class JudicialExecutionResponse {
    private Integer stat;
    private Integer total;
    private List<ExecutionCase> data;

    @Data
    public static class ExecutionCase {
        @JsonProperty("efExecutiveCourt")
        private String court; // 执行法院

        @JsonProperty("efLimitedPersonName")
        private String restrictedPerson; // 限制人员

        @JsonFormat(pattern = "yyyy-MM-dd")
        @JsonProperty("efCaseCreateTime")
        private Date caseDate; // 立案日期

        @JsonProperty("efCaseNumber")
        private String caseNumber; // 原始案号

        private String _id;

        @JsonProperty("nameId")
        private String encryptedId;

        // 清洗特殊字符的案号格式化
        @JsonIgnore
        public String getFormattedCaseNo() {
            return caseNumber.replaceAll("[^\\u4e00-\\u9fa5a-zA-Z0-9()��-]", "")
                    .replace("苏", "苏")
                    .replaceAll("\\s+", "");
        }

        // 获取年份信息
        @JsonIgnore
        public String getCaseYear() {
            return caseNumber.replaceAll("^.*?(\\d{4}).*", "$1");
        }
    }


}